1. Technical Field
The present invention relates generally to an improved data processing system, and in particular, to a method and apparatus for managing a data processing system. Still more particularly, the present invention relates to a method, apparatus, and computer instructions for reactivating TCP connections.
2. Description of Related Art
In network data processing systems, remote wake up abilities are often provided for client systems. This type of feature allows a client to be turned on through the network. With this feature, a system administrator or other user may wake up a sleeping client by sending a network packet to that client. A data processing system is in a sleep mode when the data processing system is powered off, but power is present for the network adapter. The data processing system may be off or in some power conservation mode when in a sleep state. When the adapter has a wake up feature enabled, the adapter is able to wake up or power up the data processing system when an appropriate wake up packet is received.
For example, with a network adapter, such as an Ethernet controller, the adapter is modified to listen for a special wake up on local area network (LAN) address even when the computer in which the network adapter is located is asleep in a power conservation mode. Upon receiving this packet, the network adapter checks the packet content to ensure the packet is destined for this particular client. If the packet is destined for the client and contains a well-known “magic packet” sequence, the adapter wakes up the sleeping client.
This type of feature may be used on a large network data processing system in which the administrator's data processing system is located on a different subnet from the clients that are being managed. In this case, the “wake up” packet is sent to a subnet-directed broadcast IP address for the destination network. This packet may be forwarded by routers along the way to the client from a system administrator's data processing system.
A “wake up” packet or magic packet, is a specially formatted packet sent over the network that includes data recognized by an adapter that causes the adapter to wake up the data processing system. A magic packet is a particular type of wake up network packet. A magic packet is a packet containing information, such as the media access control (MAC) address, which is a unique hardware number identifying the target. In the depicted examples, the magic packet contains the MAC address, repeated 16 times. This packet is sent using a subnet-directed broadcast and not through a connection between systems. This wake up system allows an initially powered-off client computer system on the network to be powered up. This mechanism is also referred to as a “wake-on-LAN” process.
In some cases, a connection between two host computers may result in one host going into a sleep or power conservation mode, such as, for example, a Transmission Control Protocol (TCP) connection between a laptop computer running on battery power and a server computer. The laptop may shift into a sleep mode if battery power is running low or if a certain amount of time passes without a selected activity occurring. As a result, the other end of the connection may time out after a certain interval and close the TCP connection.
A wake up packet sent to the sleeping machine's subnet-directed broadcast address could be used at this point. Currently, however, routers or firewalls may not forward the magic packet to a sleeping data processing system. This situation occurs because routers do not forward subnet-directed broadcasts, which is the mechanism used to send a magic packet. Also, firewalls may block these types of packets from reaching the destination subnet.
Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for waking up data processing systems in a sleep mode.